Thu Jan 14 19:19:51 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c: Do all event processing in
dispatch() instead of prepare() and check().
*timeout = -1;
- gdk_events_queue ();
- retval = (gdk_event_queue_find_first () != NULL);
+ retval = (gdk_event_queue_find_first () != NULL) || XPending (gdk_display);
GDK_THREADS_LEAVE ();
GDK_THREADS_ENTER ();
if (event_poll_fd.revents & G_IO_IN)
- gdk_events_queue ();
-
- retval = (gdk_event_queue_find_first () != NULL);
+ retval = (gdk_event_queue_find_first () != NULL) || XPending (gdk_display);
+ else
+ retval = FALSE;
GDK_THREADS_LEAVE ();
GDK_THREADS_ENTER ();
+ gdk_events_queue();
event = gdk_event_unqueue();
if (event)
*timeout = -1;
- gdk_events_queue ();
- retval = (gdk_event_queue_find_first () != NULL);
+ retval = (gdk_event_queue_find_first () != NULL) || XPending (gdk_display);
GDK_THREADS_LEAVE ();
GDK_THREADS_ENTER ();
if (event_poll_fd.revents & G_IO_IN)
- gdk_events_queue ();
-
- retval = (gdk_event_queue_find_first () != NULL);
+ retval = (gdk_event_queue_find_first () != NULL) || XPending (gdk_display);
+ else
+ retval = FALSE;
GDK_THREADS_LEAVE ();
GDK_THREADS_ENTER ();
+ gdk_events_queue();
event = gdk_event_unqueue();
if (event)